/*
 * XYController.h
 *
 *  Created on: Mar 27, 2011
 *      Author: Anton
 */

#ifndef XYCONTROLLER_H_
#define XYCONTROLLER_H_

#include "Gait.h"

class XYController {
public:
	XYController(Gait* XY);
	virtual ~XYController();
    Gait* gait;
    Gait* getGait(){ return gait; }
    int calculateIterations();
    void setCurrentX(double X);
    void setCurrentY(double Y);
    void setDesiredX(double X);
    void setDesiredY(double Y);
    double getCurrentX();
    double getCurrentY();
    double getDesiredX();
    double getDesiredY();
    int getI() const;
    void setI(int i);
    double getA();
    double getDa();
    double getDx();
    double getDy();
    void calculateVectors();
private:
    double dx;
    double dy;
    double currentX;
    double currentY;
    double desiredX;
    double desiredY;
    int i;
    double a;
    double da;
};

#endif /* XYCONTROLLER_H_ */
